package entity

import "github.com/lab-online/internal/shared/valueobject"

type Lab struct {
	valueobject.Report
	Arguments any
	Queue     string
}

type LabEntity interface {
	valueobject.ReportVO
	GetRouterKey() string
	GetArguments() any
	GetEncodedArguments() []byte
	GetRespBody() *LabResponseBody

	Update(opts ...LabOption)
	MergeReport(reportVO valueobject.ReportVO)
	SetupMimoDecodeContent() error
	SetupMimoPlotContent() error
	ApplyContentPatch(patch []byte) error
}
